package com.hsnn.medstgmini.trading.pur.dao;

import java.util.List;

import com.hsnn.medstgmini.sys.model.SysUser;
import com.hsnn.medstgmini.trading.pur.model.HospAddress;
import com.hsnn.medstgmini.util.Pagination;

/**
 * @category 医疗机构收货地址管理
 * @author 蔡春龙
 * @date 2015年7月8日
 */
public interface AddressDao {

	/**
	 * @category 分页查询地址列表
	 * @date 2015年7月8日
	 * @param address
	 * @param page
	 * @return
	 */
	Pagination getAddressList(HospAddress address, Pagination page, SysUser user);

	/**
	 * @category 根据id查询地址
	 * @date 2015年7月8日
	 * @param id
	 * @return
	 */
	HospAddress getAddressById(String id);
	
	HospAddress getAddressByHospId(String hospId);

	/**
	 * @category 保存地址
	 * @date 2015年7月8日
	 * @param address
	 */
	void saveAddress(HospAddress address);

	/**
	 * @category 批量(启用|停用)
	 * @param list
	 */
	void batchChangeStatus(List<HospAddress> list);

	/**
	 * @category 设置默认地址
	 * @date 2015年7月8日
	 * @param address
	 */
	void setDefaultAddress(HospAddress address);
	
	/**
	 * @category 
	 * @date 2015年7月8日
	 * @param user
	 * @return
	 */
	Pagination getUserList(SysUser user, Pagination page);
	
	/**
	 * @category 查询用户默认地址
	 * @date 2015年7月9日
	 * @param user
	 * @return
	 */
	HospAddress getDefaultAddress(SysUser user);

}
